Routing systems use configuration files and routing policy to make decisions regarding routes. Configuration files are used to apply policy to routes which may be received as new routes or as part of route-update messages. Conventional configuration files are growing very large and very complex with the advent of larger and more sophisticated routing systems. Conventional configurations may take many lines of configuration to effect a desired result. One problem with these large configuration files is that the need to vary a single value in the configuration may require a whole block of lines to be repeated many times in the configuration file. This makes for extremely large amounts of configuration that are replicated, maintained, stored, and processed. These large configuration files must also be understood by the device and the user. Thus there are general needs for improving router-policy configuration. There are also needs for reducing the amount of configuration. There are also needs for reducing the amount of configuration for specific routing policies, especially when only a few values are varied within the configuration.
There are times when a user or operator may wish to evaluate additional information on a running network. One problem with conventional routing systems is that conventional systems inhibit direct access to information outside of the route attributes. This makes it difficult for a user or system administrator to create routing policies, for example, that take into account traffic statistics on a running network when altering route attributes. Thus, there are needs for systems and methods that may allow a user or system administrator to incorporate additional non-route attribute information, such as traffic statistics, into a running network. There are also general needs for routing systems and methods that may implement routing policy using non-route attribute data such as traffic engineering information.